/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package strategy.modelos;

import model.Jogador;
import model.ListaJogadores;
import strategy.implementacao.acao.PagarAluguelOuTaxa;
import strategy.implementacao.aquisicao.ComprarTerreno;

/**
 *
 * @author Lucas
 */
public class Compania extends Campo{
    private Jogador jogador;

    public Compania(String descricao, double valor, int campo) {
        super.setDescricao(descricao);
        super.setValor(valor);
        super.setIdCampo(campo);
    }

    @Override
    public void aquisicao() {
        super.aquisicao = new ComprarTerreno();
        aquisicao.aquisicao(jogador, super.getIdCampo());
    }

    @Override
    public void acao() {
        boolean temDono = false;
        for (Jogador j : ListaJogadores.getInstancia().getListaJogadores()) {
            for (Campo campo : j.getListaCampos()) {
                if(campo.getIdCampo() == getIdCampo()){
                    PagarAluguelOuTaxa a = new PagarAluguelOuTaxa();
                    a.setDono(j);
                    a.setJogador(jogador);
                    a.setValor(super.getValor()*0.30);
                    a.execute();
                    temDono = true;
                }
            }
        }
        if(!temDono){
            aquisicao(); 
        }        
    }

    public void setJogador(Jogador jogador) {
        this.jogador = jogador;
    }
}
